﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate;
using NHibernate.Criterion;
using Didsoft.DataAccess.NHibernate;
using Didsoft.DataAccess.Contracts;
using RBDD.Embol.AccesoDatos.Entidades;
using RBDD.Embol.AccesoDatos.Contratos;

namespace RBDD.Embol.AccesoDatos.Contexto
{
   public class OficinaAccesoDatos: DataAccessBase<Oficina>, IOficinaAccesoDatos
    {
        public OficinaAccesoDatos()
        {
        }


        public IList<Oficina> BuscarPorFiltro(string filtro)
        {
            ICriteria criteria = Session.CreateCriteria(typeof(Oficina));
            criteria.Add(Expression.Like("Nombre", filtro+"%"));
            return criteria.List<Oficina>();
        }



        public Oficina BuscarPorNombre(string nombre)
        {
            string cmd = "from Oficina o where o.Nombre= :nombre";
            var query = Session.CreateQuery(cmd);
            query.SetAnsiString("nombre", nombre);

            return query.List<Oficina>().FirstOrDefault();
        }
    }
}
 